package com.diyizu.youdianda.controller;

import com.diyizu.youdianda.common.R;
import com.diyizu.youdianda.dto.SysMenuDto;
import com.diyizu.youdianda.entity.SysMenu;
import com.diyizu.youdianda.service.SysMenuService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 系统设置-菜单管理
 */
@Slf4j
@RestController
@RequestMapping("/sys_menu")
public class SysMenuController {

    @Autowired
    private SysMenuService sysMenuService;

    //展示列表(看起来需要token，先不管)
    @GetMapping("/allData")
    public R<List<SysMenuDto>> allData(){
        log.info("菜单管理展示所有请求。。。");
        List<SysMenuDto> sysMenuDtos = sysMenuService.DataList();
        return R.success(sysMenuDtos);
    }

    //添加
    @PostMapping("/add")
    public R<String> add(@RequestBody SysMenu sysMenu){
        log.info("菜单管理添加请求，sysMenu="+sysMenu);
        sysMenuService.save(sysMenu);
        return R.success("添加成功");
    }

    //删除
    @GetMapping("/del")
    public R<String> del(Long id){
        log.info("菜单管理删除请求：id="+id);
        R<String> stringR = sysMenuService.delete(id);
        return stringR;
    }

    //修改
    @PostMapping("/update")
    public R<String> update(@RequestBody SysMenu sysMenu){
        log.info("菜单管理修改请求：sysMenu="+sysMenu);
        sysMenuService.updateById(sysMenu);
        return R.success("修改成功");
    }

    //查看详情(回显数据)
    @GetMapping("/rowInfo")
    public R<SysMenu> rowInfo(Long id){
        log.info("菜单管理查看详情：id="+id);
        SysMenu byId = sysMenuService.getById(id);
        if (byId == null){
            return R.error("查询失败");
        }
        return R.success(byId);
    }
}
